Skip to content

Remove Tags feature from frontend, keep backend Tag API intact - #76

Merged
evertonschuster merged 1 commit into
mainfrom
pr/04-remove-tags-frontend-v2
Aug 2, 2026
Merged

Remove Tags feature from frontend, keep backend Tag API intact#76
evertonschuster merged 1 commit into
mainfrom
pr/04-remove-tags-frontend-v2

Conversation

@evertonschuster

@evertonschuster evertonschuster commented Aug 2, 2026

Copy link
Copy Markdown
Owner

Summary

Split out of #69 (final part of this series). Replaces #73, which was built stacked on the old #72 branch (unmerged, superseded by #75). Recreated as the same content, re-based on main now that #70/#71/#75 are all merged. No functional change from #73.

Removes the entire Tags vertical from apps/admin-frontend (domain, application, infrastructure, presentation, MSW handlers, E2E specs, nav entry, route, and catalog facade wiring) while intentionally retaining the backend Tag domain entity and /api/v1/tags endpoints, including Service's many-to-many relationship to Tag — a project-owner decision, see docs/adr/016-remove-tags-frontend.md. Categories replaces Tags as the reference CRUD implementation throughout the docs and the agenza-frontend-feature skill.

Test plan

  • npm install + npm run build --workspace=apps/admin-frontend — green
  • npm run lint --workspace=apps/admin-frontend — clean, 0 warnings
  • npm run format:check --workspace=apps/admin-frontend — clean
  • npm run test --workspace=apps/admin-frontend — 305/305 passing
  • npx playwright test (full e2e suite, production build + preview) — 8/8 passing
  • scripts/sync_agent_skills.py --check, scripts/check_agent_governance.py, scripts/architecture_guard.py — all pass

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Removed Features

    • Removed the Tags section from the admin frontend, including its navigation link, routes, listing, search, and create/edit/delete workflows.
    • Categories are now the primary catalog reference for CRUD interactions.
    • Tags backend endpoints and Service tag summaries remain supported.
  • Documentation

    • Updated API, domain, status, setup, and implementation guidance to reflect the frontend changes.
  • Tests

    • Updated navigation coverage for Categories and removed obsolete Tags end-to-end and component tests.

Split out of #69 (final part of this series — see that PR for the full
picture). Recreated from origin/main after #70/#71/#75 merged, since
this repo's convention (and the split-large-coderabbit-pr skill) is a
sequential series, not stacking on an unmerged branch. Same content as
the original #73, just re-based; no functional change.

Removes the entire Tags vertical from apps/admin-frontend (domain,
application, infrastructure, presentation, MSW handlers, E2E specs, nav
entry, route, and catalog facade wiring) while intentionally retaining
the backend Tag domain entity and /api/v1/tags endpoints, including
Service's many-to-many relationship to Tag - a project-owner decision,
see docs/adr/016-remove-tags-frontend.md. Categories replaces Tags as
the reference CRUD implementation throughout the docs and the
agenza-frontend-feature skill.

## Test plan

- [x] `npm install` + `npm run build --workspace=apps/admin-frontend` — green
- [x] `npm run lint --workspace=apps/admin-frontend` — clean, 0 warnings
- [x] `npm run format:check --workspace=apps/admin-frontend` — clean
- [x] `npm run test --workspace=apps/admin-frontend` — 305/305 passing
- [x] `npx playwright test` (full e2e suite, production build + preview) — 8/8 passing
- [x] `scripts/sync_agent_skills.py --check`, `scripts/check_agent_governance.py`, `scripts/architecture_guard.py` — all pass

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Aug 2, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 4c099b38-2035-4d5f-9151-5035d714cf35

📥 Commits

Reviewing files that changed from the base of the PR and between 7ad0c92 and 0726ad2.

📒 Files selected for processing (42)
  • apps/admin-frontend/.agent.md
  • apps/admin-frontend/.env.example
  • apps/admin-frontend/AGENTS.md
  • apps/admin-frontend/docs/API.md
  • apps/admin-frontend/docs/DOMAIN.md
  • apps/admin-frontend/docs/STATUS.md
  • apps/admin-frontend/docs/adr/016-remove-tags-frontend.md
  • apps/admin-frontend/e2e/authenticated-shell.spec.ts
  • apps/admin-frontend/e2e/tags-crud.spec.ts
  • apps/admin-frontend/e2e/tags-list-retry.spec.ts
  • apps/admin-frontend/eslint.config.js
  • apps/admin-frontend/src/app/composition/container.test.ts
  • apps/admin-frontend/src/app/composition/container.ts
  • apps/admin-frontend/src/app/layouts/AdminLayout.test.tsx
  • apps/admin-frontend/src/app/layouts/AdminLayout.tsx
  • apps/admin-frontend/src/app/routes/router.tsx
  • apps/admin-frontend/src/features/catalog/application/repositories/TagRepository.ts
  • apps/admin-frontend/src/features/catalog/application/test-helpers/createFakeTagRepository.ts
  • apps/admin-frontend/src/features/catalog/domain/entities/Tag.test.ts
  • apps/admin-frontend/src/features/catalog/domain/entities/Tag.ts
  • apps/admin-frontend/src/features/catalog/domain/errors/InvalidTagError.ts
  • apps/admin-frontend/src/features/catalog/index.ts
  • apps/admin-frontend/src/features/catalog/infrastructure/mappers/tagMapper.test.ts
  • apps/admin-frontend/src/features/catalog/infrastructure/mappers/tagMapper.ts
  • apps/admin-frontend/src/features/catalog/infrastructure/repositories/ApiTagRepository.test.ts
  • apps/admin-frontend/src/features/catalog/infrastructure/repositories/ApiTagRepository.ts
  • apps/admin-frontend/src/features/catalog/presentation/tags/TagsPage.test.tsx
  • apps/admin-frontend/src/features/catalog/presentation/tags/TagsPage.tsx
  • apps/admin-frontend/src/features/catalog/presentation/tags/components/TagsTable.tsx
  • apps/admin-frontend/src/features/catalog/presentation/tags/forms/TagForm.test.tsx
  • apps/admin-frontend/src/features/catalog/presentation/tags/forms/TagForm.tsx
  • apps/admin-frontend/src/features/catalog/presentation/tags/forms/tagFieldMaps.ts
  • apps/admin-frontend/src/features/catalog/presentation/tags/hooks/useTagEditor.ts
  • apps/admin-frontend/src/features/catalog/presentation/tags/hooks/useTags.test.tsx
  • apps/admin-frontend/src/features/catalog/presentation/tags/hooks/useTags.ts
  • apps/admin-frontend/src/features/catalog/presentation/tags/hooks/useTagsPage.ts
  • apps/admin-frontend/src/features/catalog/presentation/tags/pages/TagEditorDialog.tsx
  • apps/admin-frontend/src/shared/presentation/components/DeleteConfirmationDialog.tsx
  • apps/admin-frontend/src/shared/presentation/hooks/useDeleteConfirmation.ts
  • apps/admin-frontend/src/test/fixtures/createFakeAppContainer.ts
  • apps/admin-frontend/src/test/mocks/handlers/index.ts
  • apps/admin-frontend/src/test/mocks/handlers/tagHandlers.ts

📝 Walkthrough

Walkthrough

The admin frontend removes the Tags vertical, including its domain, repositories, UI, routes, mocks, facade methods, and E2E tests. Categories become the catalog reference. Documentation retains backend tag contracts and records the frontend-only removal.

Changes

Tags frontend removal

Layer / File(s) Summary
Runtime integration and validation
apps/admin-frontend/src/app/..., apps/admin-frontend/src/features/catalog/..., apps/admin-frontend/e2e/..., apps/admin-frontend/src/test/...
Removed Tags composition, routes, navigation, exports, mappers, presentation components, repositories, mocks, and E2E coverage. Updated remaining container and navigation tests to use Categories.
Documentation and project guidance
apps/admin-frontend/docs/..., apps/admin-frontend/AGENTS.md, apps/admin-frontend/.agent.md, apps/admin-frontend/.env.example, apps/admin-frontend/eslint.config.js, apps/admin-frontend/src/shared/...
Documented the frontend-only removal, retained backend tag contracts, updated Categories references, and revised examples and comments.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Possibly related PRs

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch pr/04-remove-tags-frontend-v2

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@evertonschuster
evertonschuster merged commit 28e10c6 into main Aug 2, 2026
18 checks passed
@evertonschuster
evertonschuster deleted the pr/04-remove-tags-frontend-v2 branch August 2, 2026 15:24
@evertonschuster

Copy link
Copy Markdown
Owner Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 2, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

evertonschuster added a commit that referenced this pull request Aug 2, 2026
…#77)

These 3 files (agent-skills/agenza-frontend-feature/SKILL.md and its two
synced copies under .claude/skills/ and .agents/skills/) live at the repo
root, outside apps/admin-frontend/ — every diff I computed while splitting
#69 into #70/#71/#75/#76 was scoped to apps/admin-frontend (and backend/
for #70), so these files' accumulated updates from this session (Catalog
Result migration, Auth Result migration, and finally the Tags-removal
doc pass replacing TagsPage/TagForm with Categories as the reference
implementation) never made it into any of the split PRs, even though the
actual code changes they describe are all correctly merged.

Content taken directly from the original branch's final commit
(4911abb), already reviewed and governance-checked at the time. Verified
again here against the current merged main: sync_agent_skills.py --check,
check_agent_governance.py, and architecture_guard.py all pass, and the
file paths the skill references (CategoriesListPage.tsx, CategoryForm.tsx,
categoryMapper.ts, AdminLayout.tsx) all exist in the current tree.

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant